package com.enjoyor.soa.traffic.api.service.dubbo.ejcds;

import java.util.List;

import com.enjoyor.soa.traffic.api.dto.ejcds.EventDispatchDto;
import com.enjoyor.soa.traffic.api.dto.ejcds.EventFeedbackDto;
import com.enjoyor.soa.traffic.api.dto.ejcds.EventHandleDto;
import com.enjoyor.soa.traffic.api.dto.ejcds.EventInfoDto;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

public interface DubboEventOprBasicService {
	/**
	 * 警情录入
	 * @param dtoEvent
	 * @param token
	 * @param systemKey
	 * @return
	 */
	public ResultPojo oprEventRecord(EventInfoDto dtoEvent, String token, String systemKey);
	/**
	 * 警情派发
	 * @param listHandle
	 * @param token
	 * @param systemKey
	 * @return
	 */
	public ResultPojo oprEventSend(List<EventHandleDto> listHandle, String token, String systemKey);
	/**
	 * 警情拒绝
	 * @param strRefuseReason
	 * @param strHandleId
	 * @param strEventId
	 * @param token
	 * @param systemKey
	 * @return
	 */
	public ResultPojo oprEventRefuse(String strRefuseReason, String strHandleId, String strEventId, String isMain, String token, String systemKey);
	/**
	 * 警情上报
	 * @param strReportReason
	 * @param strEventId
	 * @param token
	 * @param systemKey
	 * @return
	 */
	public ResultPojo oprEventReport(String strReportReason, String strEventId, String token, String systemKey);
	/**
	 * 上报处理
	 * @param listHandle
	 * @param strEventId
	 * @param token
	 * @param systemKey
	 * @return
	 */
	public ResultPojo oprReportDeal(List<EventHandleDto> listHandle, String strEventId, String token, String systemKey);
	/**
	 * 警情受理
	 * @param list
	 * @param token
	 * @param systemKey
	 * handleid eventid ismain
	 * @return
	 */
	public ResultPojo oprEventHandle(String strHandleId, String strEventId, String isMain, String token, String systemKey);
	/**
	 * 警情派警
	 * @param list
	 * @param token
	 * @param systemKey
	 * @return
	 */
	public ResultPojo oprEventDispatch(List<EventDispatchDto> list, String token, String systemKey);
	/**
	 * 警员出发
	 * @param DepartTime
	 * @param strEventId
	 * @param token
	 * @param systemKey
	 * @return
	 */
	public ResultPojo oprPoliceDepart(String DepartTime, String strEventId, String token, String systemKey);
	/**
	 * 警员到达
	 * @param ArriveTime
	 * @param strEventId
	 * @param token
	 * @param systemKey
	 * @return
	 */
	public ResultPojo oprPoliceArrive(String ArriveTime, String strEventId, String token, String systemKey);
	/**
	 * 处置完成
	 * @param DealTime
	 * @param strEventId
	 * @param token
	 * @param systemKey
	 * @return
	 */
	public ResultPojo oprPoliceDeal(String DealTime, String strEventId, String token, String systemKey);
	/**
	 * 警情反馈
	 * @param dtoFeedback
	 * @param token
	 * @param systemKey
	 * @return
	 */
	public ResultPojo oprEventFeedback(EventFeedbackDto dtoFeedback, String token, String systemKey);
	/**
	 * 警情完结
	 * @param strEventId
	 * @param token
	 * @param systemKey
	 * @return
	 */
	public ResultPojo oprEventFinish(String strEventId, String token, String systemKey);
	/**
	 * 警情合并
	 * @param strTargetEventId
	 * @param strSourceEventId
	 * @param token
	 * @param systemKey
	 * @return
	 */
	public ResultPojo oprEventMerge(String strTargetEventId, String strSourceEventId,  String token, String systemKey);
	/**
	 * 警情无效
	 * @param strEventId
	 * @param token
	 * @param systemKey
	 * @return
	 */
	public ResultPojo oprEventInvalid(String strEventId,  String token, String systemKey);
	/**
	 * 警情编辑
	 * @param dtoEvent
	 * @param token
	 * @param systemKey
	 * @return
	 */
	public ResultPojo editEventInfo(EventInfoDto dtoEvent, String token, String systemKey);

}
